The present invention relates generally to the field of computer networks. More particularly, the present invention is directed to an information management and storage system and method. The present invention is further directed to a mobile interface agent that can be used to dynamically access resources stored either locally in the computer device or across a network including programs, applications, bookmarked URLs, user profiles, IP addresses, telephone numbers, television channels, radio stations, and the like that are specific to a user via any computer device. Moreover, the present invention relates to a per user based licensing model that allows the user to locally or remotely access and use computer programs from any computer device.
Most computers and portable digital assistants (PDA) have an operating system (OS) such as MS-DOS, UNIX, Windows 98INT/CE, or Linux loaded thereon for managing basic operations. In general, an OS apportions the computer""s main memory, handles requests, receives and transmits instructions to and from the input/output (I/O) devices, manages the flow of information into and out of the main processor and the I/O devices, and performs other tasks that are commonly known.
The OS is also used to organize and manage menu items such as software programs, applications, files, folders, documents, and the like that are stored on the computer or PDA. A user interface in an OS generally includes xe2x80x9cpointersxe2x80x9d to software programs, applications, files, folders, documents, and other menu items. A pointer in this context is a reference to a type of menu item that can be accessible on the computer, PDA or a server.
In the current versions of the Windows 98/NT (believed to be a registered Trademark of Microsoft Corp.) OS, pointers are commonly used to retrieve/access menu items. Pointers can be found in a xe2x80x9cStartxe2x80x9d menu bar on the Windows 98/NT user interface and includes a list of pointers to folders, files, and programs (e.g., word processing program, spreadsheet data file, personal software folder, etc.). For example, FIG. 2 illustrates a screen shot of a conventional Windows NT xe2x80x9cStartxe2x80x9d menu bar.
The xe2x80x9cStartxe2x80x9d menu bar""s main function is to provide easy access to commonly used applications and files. The menu bar also has some basic configuration capability so that a user can personalize the pointer data by adding or removing pointer data found in the menu bar. However, the xe2x80x9cStartxe2x80x9d menu bar information and configuration for a particular user is limited to the personal computer on which the configuration and pointer information reside. Hence, a user using a different personal computer cannot dynamically recreate the configuration and pointer information stored on another personal computer. Further, the menu bar does not have any intelligence about a network connected to the personal computer so a user may not receive accessibility information about pointer data that may depend on a network connection. Even further, the current Windows xe2x80x9cStartxe2x80x9d menu bar information cannot be accessed across multiple operating systems or platforms such as on a Macintosh computer running MacOS or within a web browser.
Even further, the xe2x80x9cStartxe2x80x9d menu bar keeps no user information or profile data associated with the user of the menu bar. A user could save time if the menu bar kept certain user profile data, and applications linked to the menu bar could access this data. Hence, a user who accesses a word processor""s Fax template could automatically have the word processor access data kept by the menu bar interface such as his name, address, and telephone number and automatically insert this information into the Fax template. Applications would simply be given some kind of interface such as a software API to query data stored by the menu bar interface, and the stored data could be assumed to be associated with the current user using the menu bar interface.
Computers in many environments are connected to a network such as a local area network (LAN), a metropolitan area network (MAN), or a wide area network (WAN). Computers on the network can conveniently manage and access software programs, applications, files, folders, documents, and the like from another computer or server. For example, most businesses store such menu items at a centralized location, e.g. central server, so that multiple users connected to the network can gain access to them.
Another popular and common use of a computer or PDA is to access information on the Internet. A web browser such as the Internet Explorer 4.0/5.0 (believed to be a registered Trademark of Microsoft Corp.) or Navigator (believed to be a registered Trademark of Netscape, Inc.) is loaded onto the computer or PDA so that the user can access web sites. The web browser is also used so that the user can receive and transmit data. Because the user may visit many web sites during a given session, each web browser allows the users to store and save the addresses (URLs) of commonly visited web sites. This is done by bookmarking them. The user bookmarks commonly visited web sites so that the user can create shortcuts for future use. As a result, the user does not have to type the complete URLs to access these sites.
It is not uncommon for many users to have multiple computers, PDAs, and other computer-related devices. Each individual computer or PDA may include specific menu items and bookmarks that do not exist in another computer or PDA. For example, a computer used at work may be the only device that includes a spreadsheet program while a computer used at home may be the only device that includes bookmarked URLs. Thus, the user will not have access to the bookmarks from the user""s work computer and likewise, will not have access to the spreadsheet program from the user""s home computer. As a result, this causes much inconvenience and inefficiency for the computer user.
Further, the bookmarks pointer data is specific to a particular output interface; specifically, the web browser. It would be desirable to have bookmarks that can attach various types of output applications for the pointer data contained in the bookmarks. It would also be desirable to be able to attach various types of interfaces to the bookmarks themselves instead of being tied as a feature of a web browser: an independent entity that can optionally attach various kinds of user interfaces such as some kind of intelligent agent using a graphical icon of a human-like figure (for children to interact with on a Windows 95/98 PC) or a voice activated and controlled menu system (for cellular telephones).
It is common for users to have two computers of two different OS""s running an application such as Microsoft Word. In order to share a particular Microsoft Word data file, it is currently necessary in the prior art to manually export the file in the required format so that a computer using one OS can read the file of the computer using the other OS. Time would be saved if there existed a mechanism allowing files to be exported to the network in a format specified using mobile interface agent application data. When the mobile interface agent running on one OS changes to a computer running a different OS, the mobile interface agent can signal a server daemon to perform an OS conversion of the data and get the data file in the proper format. To the user, this process would be automatic and transparent since the user can simply click a data file, which is a pointer data in his/her mobile interface agent.
Currently, users may save a list of phone numbers on her personal computer""s telephone directory software. Similarly, a user may go to a television guide web site and save a list of favorite television shows and times. Time and effort could be saved if the list of phone numbers were transparent to the user""s telephone and the list of favorite television shows transparent and accessible to the user""s television. In other words, besides the advantage of being cross platform, using the mobile interface agent system allows user profile, configuration and settings information to be handled intelligently by network services to export information between networks such as the Internet, cable television network, or telephone network. This allows not only cross platform advantages, but cross network advantages as well.
Most software programs and applications are currently licensed on either a node locked paradigm in which the software is usable on a per device basis or as a floating license in which a fixed number of licenses are available to a certain group of users limited by the number of concurrent users. In the case of node locked licensing, a user is generally not allowed to install a software program in multiple computers unless a software developer grants a license to the user for such use. Thus, most users cannot install the same software program on both their home and work computers unless the user purchases two identical programs (one for home and one for work). For floating licenses, the number of instances of program execution is tracked and any additional attempt to execute a program above the licensed limit is blocked by some kind of license manager. However, this method does not allow the tracking of the usage of specific users and involves guessing an optimal number of concurrent licenses to purchase so that users are not blocked from using the program while minimizing the cost of the licenses. Also, current licensing models are generally restricted by platform so that a user with a license for a software program is allowed to re-install the program when the user is changing/upgrading computers of the same platform. However, when the user is changing to a different platform such as from a Windows 98 device to an Apple MacOS device, the re-installation is not possible.
The trend in the future is that many software programs and the like may be licensed per user rather than per device/platform or number of concurrent users in a network. In this case, the user has a license to use such programs from any computer that is capable of running such programs. The present invention provides a system and method for implementing such a licensing model so that the user can access and run programs from any computer and from any geographical location.
Accordingly, the ability to dynamically access any software programs, files, documents, URL bookmarks, IP addresses, telephone numbers, television channels, radio stations, and the like from any computer is highly desirable. There is a need for a system and method that can provide access to such menu items and bookmarks using any computer.
It is an object of the present invention to provide a system and method that allows a user to access specific documents, files, programs, applications, URL bookmarks, IP addresses, telephone numbers, television channels, radio stations, and other menu items from any computer device located in any geographic location.
It is another object of the present invention to provide a system and method that allows a user to access specific documents, files, programs, applications, URL bookmarks, IP addresses, telephone numbers, television channels, radio stations, and other menu items using a mobile interface agent.
It is yet another object of the present invention to provide a system and method that allows different applications or services to share information between them.
It is another object of the present invention to provide a system and method that allows applications and services to access user profile information.
It is another object of the present invention to provide a system and method that allows applications and services to access user configuration and settings information.
It is another object of the present invention to provide a system and method that allows a mobile interface agent to be accessible by a user using any computer type device connected to the network.
It is another object of the present invention to provide a system and method that allows an intelligent platform or OS conversion of documents, files, or other data that are listed in mobile interface agent pointer data.
It is another object of the present invention to provide a system and method that allows a mobile interface agent to be accessible by a user using any digital communication device such as a cellular phone or a cable set top box that is connected to the network.
It is another object of the present invention to provide a system and method that allows a profile manager to export a user""s profile, configuration, or settings data from one communications network such as the Internet to another network (such as the cellular phone network or the cable television network) to be accessible by mobile interface agents or other software or devices on the other network.
These and other objects of the present invention are obtained by providing a network based mobile interface agent. The mobile interface agent can be accessible using a computer, cable set top box, cellular phone, or other device from any geographical location. Once the mobile interface agent has been accessed, the user can gain access to any documents, files, programs, applications, URL bookmarks, and other pointer data that are available to the user. The mobile interface agent is basically an agent that allows the user to access documents, files, programs, applications, URL bookmarks, IP addresses, telephone numbers, television channels, radio stations, and other menu items from any computer that is connected to a network. The present invention also provides a method for remotely accessing and using computer programs from any computer device based upon a per user licensing model.